package com.woniu.service;

import com.woniu.dto.DynamicCommentDto;
import com.woniu.dto.DynamicPost;
import com.woniu.pojo.CommunityFavor;

import java.util.List;
import java.util.Map;

public interface DynamicService {

    /**
     * 保存动态
     * @param map 动态数据
     */
    void save(Map<String, Object> map);

    /**
     * 根据类型和页数获取指定数量的动态数据
     * @param type
     * @param page
     * @return
     */
    List<DynamicPost> findByType(Integer type, Integer page,Integer userId);

    /**
     * 根据动态id获取动态的评论人信息
     * @param dynamicId
     * @return
     */
    List<DynamicCommentDto> findByComment(Integer dynamicId);

    /**
     * 根据动态id获取动态的点赞人信息
     * @param dynamicId
     * @return
     */
    List<CommunityFavor> findFavorById(Integer dynamicId);

    /**
     * 保存点赞信息
     * @param dynamicId
     * @param userId
     */
    void saveFavor(Integer dynamicId, Integer userId);

    /**
     * 取消点赞信息
     * @param dynamicId
     * @param userId
     */
    void deleteFavor(Integer dynamicId, Integer userId);

    /**
     * 添加评论信息到数据库
     * @param map
     */
    void saveComment(Map<String, Object> map);

    /**
     * 获取指定id的动态内容
     * @param dynamicId
     * @return
     */
    DynamicPost findDynamicById(Integer dynamicId);
}
